summaryrefslogtreecommitdiffstats
path: root/src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java')
-rw-r--r--src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java2221
1 files changed, 0 insertions, 2221 deletions
diff --git a/src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java b/src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java
deleted file mode 100644
index 82fda3e..0000000
--- a/src/org/uic/ticket/api/utils/OpenAsn2ApiDecoder.java
+++ /dev/null
@@ -1,2221 +0,0 @@
-/*
- *
- */
-package org.uic.ticket.api.utils;
-
-import java.io.IOException;
-import java.util.Date;
-import java.util.List;
-
-import org.uic.ticket.api.asn.omv1.BerthDetailData;
-import org.uic.ticket.api.asn.omv1.CarCarriageReservationData;
-import org.uic.ticket.api.asn.omv1.CardReferenceType;
-import org.uic.ticket.api.asn.omv1.CompartmentDetailsType;
-import org.uic.ticket.api.asn.omv1.ControlData;
-import org.uic.ticket.api.asn.omv1.CountermarkData;
-import org.uic.ticket.api.asn.omv1.CustomerCardData;
-import org.uic.ticket.api.asn.omv1.CustomerStatusType;
-import org.uic.ticket.api.asn.omv1.DelayConfirmation;
-import org.uic.ticket.api.asn.omv1.DeltaCoordinates;
-import org.uic.ticket.api.asn.omv1.DocumentData;
-import org.uic.ticket.api.asn.omv1.ExtensionData;
-import org.uic.ticket.api.asn.omv1.FIPTicketData;
-import org.uic.ticket.api.asn.omv1.GeoCoordinateType;
-import org.uic.ticket.api.asn.omv1.IncludedOpenTicketType;
-import org.uic.ticket.api.asn.omv1.IssuingData;
-import org.uic.ticket.api.asn.omv1.LineType;
-import org.uic.ticket.api.asn.omv1.LuggageRestrictionType;
-import org.uic.ticket.api.asn.omv1.OpenTicketData;
-import org.uic.ticket.api.asn.omv1.ParkingGroundData;
-import org.uic.ticket.api.asn.omv1.PassData;
-import org.uic.ticket.api.asn.omv1.PlacesType;
-import org.uic.ticket.api.asn.omv1.PolygoneType;
-import org.uic.ticket.api.asn.omv1.RegionalValidityType;
-import org.uic.ticket.api.asn.omv1.RegisteredLuggageType;
-import org.uic.ticket.api.asn.omv1.ReservationData;
-import org.uic.ticket.api.asn.omv1.ReturnRouteDescriptionType;
-import org.uic.ticket.api.asn.omv1.RouteSectionType;
-import org.uic.ticket.api.asn.omv1.SeriesDetailType;
-import org.uic.ticket.api.asn.omv1.StationPassageData;
-import org.uic.ticket.api.asn.omv1.TariffType;
-import org.uic.ticket.api.asn.omv1.TicketLinkType;
-import org.uic.ticket.api.asn.omv1.TimeRangeType;
-import org.uic.ticket.api.asn.omv1.TokenType;
-import org.uic.ticket.api.asn.omv1.TrainLinkType;
-import org.uic.ticket.api.asn.omv1.TravelerData;
-import org.uic.ticket.api.asn.omv1.TravelerType;
-import org.uic.ticket.api.asn.omv1.UicRailTicketData;
-import org.uic.ticket.api.asn.omv1.ValidityPeriodDetailType;
-import org.uic.ticket.api.asn.omv1.ValidityPeriodType;
-import org.uic.ticket.api.asn.omv1.VatDetailType;
-import org.uic.ticket.api.asn.omv1.ViaStationType;
-import org.uic.ticket.api.asn.omv1.VoucherData;
-import org.uic.ticket.api.asn.omv1.ZoneType;
-import org.uic.ticket.api.impl.SimpleUicTicketObjectFactory;
-import org.uic.ticket.api.spec.IBerth;
-import org.uic.ticket.api.spec.IBerthTypeType;
-import org.uic.ticket.api.spec.ICarCarriageReservation;
-import org.uic.ticket.api.spec.ICardReference;
-import org.uic.ticket.api.spec.ICompartmentDetails;
-import org.uic.ticket.api.spec.ICompartmentGenderType;
-import org.uic.ticket.api.spec.ICompartmentPositionType;
-import org.uic.ticket.api.spec.IControlDetail;
-import org.uic.ticket.api.spec.ICounterMark;
-import org.uic.ticket.api.spec.ICustomerCard;
-import org.uic.ticket.api.spec.ICustomerStatusDescription;
-import org.uic.ticket.api.spec.IDelayConfirmation;
-import org.uic.ticket.api.spec.IDocumentExtension;
-import org.uic.ticket.api.spec.IExtension;
-import org.uic.ticket.api.spec.IFipTicket;
-import org.uic.ticket.api.spec.IGenderType;
-import org.uic.ticket.api.spec.IGeoCoordinate;
-import org.uic.ticket.api.spec.IGeoCoordinateSystemType;
-import org.uic.ticket.api.spec.IGeoUnitType;
-import org.uic.ticket.api.spec.IHemisphereLatitudeType;
-import org.uic.ticket.api.spec.IHemisphereLongitudeType;
-import org.uic.ticket.api.spec.IIncludedOpenTicket;
-import org.uic.ticket.api.spec.IIssuingDetail;
-import org.uic.ticket.api.spec.ILine;
-import org.uic.ticket.api.spec.ILinkMode;
-import org.uic.ticket.api.spec.ILoadingDeckType;
-import org.uic.ticket.api.spec.ILuggageRestriction;
-import org.uic.ticket.api.spec.IOpenTicket;
-import org.uic.ticket.api.spec.IParkingGround;
-import org.uic.ticket.api.spec.IPass;
-import org.uic.ticket.api.spec.IPassengerType;
-import org.uic.ticket.api.spec.IPlaces;
-import org.uic.ticket.api.spec.IPolygone;
-import org.uic.ticket.api.spec.IPriceTypeType;
-import org.uic.ticket.api.spec.IRegionalValidity;
-import org.uic.ticket.api.spec.IRegisteredLuggage;
-import org.uic.ticket.api.spec.IReservation;
-import org.uic.ticket.api.spec.IReturnRouteDescription;
-import org.uic.ticket.api.spec.IRoofRackType;
-import org.uic.ticket.api.spec.IRouteSection;
-import org.uic.ticket.api.spec.ISeriesDataDetails;
-import org.uic.ticket.api.spec.IServiceBrand;
-import org.uic.ticket.api.spec.IStationCodeTable;
-import org.uic.ticket.api.spec.IStationPassage;
-import org.uic.ticket.api.spec.ITariff;
-import org.uic.ticket.api.spec.ITicketLink;
-import org.uic.ticket.api.spec.ITicketType;
-import org.uic.ticket.api.spec.ITimeRange;
-import org.uic.ticket.api.spec.IToken;
-import org.uic.ticket.api.spec.ITrainLink;
-import org.uic.ticket.api.spec.ITravelClassType;
-import org.uic.ticket.api.spec.ITraveler;
-import org.uic.ticket.api.spec.ITravelerDetail;
-import org.uic.ticket.api.spec.IUicRailTicket;
-import org.uic.ticket.api.spec.IUicTicketObjectFactory;
-import org.uic.ticket.api.spec.IValidityDetails;
-import org.uic.ticket.api.spec.IValidityRange;
-import org.uic.ticket.api.spec.IVatDetail;
-import org.uic.ticket.api.spec.IViaStation;
-import org.uic.ticket.api.spec.IVoucher;
-import org.uic.ticket.api.spec.IZone;
-
-
-/**
- * The Class OpenAsn2ApiDecoder.
- */
-public class OpenAsn2ApiDecoder {
-
- IUicTicketObjectFactory factory = SimpleUicTicketObjectFactory.getInstance();
-
- /**
- * Decode from asn.1 unaligned PER encoded data.
- *
- * @param asnUicRailTicketData the asn uic rail ticket data
- * @return the decoded uic rail ticket
- * @throws IOException Signals that an I/O exception has occurred.
- */
- public IUicRailTicket decodeFromAsn (UicRailTicketData asnUicRailTicketData) throws IOException{
-
- IUicRailTicket uicRailTicket = factory.createUicRailTicket();
-
- populateFromAsn1Model(uicRailTicket, asnUicRailTicketData);
-
- return uicRailTicket;
-
- }
-
- /**
- * Decode from asn.1 unaligned PER encoded data.
- *
- * @param data byte array of the asn.1 encoded FCB data
- * @return the decoded uic rail ticket
- * @throws IOException Signals that an I/O exception has occurred.
- */
- public IUicRailTicket decodeFromAsn (byte[] data) throws IOException{
-
- UicRailTicketData asnUicRailTicketData = UicRailTicketData.decode(data);
-
- IUicRailTicket uicRailTicket = factory.createUicRailTicket();
-
- populateFromAsn1Model(uicRailTicket, asnUicRailTicketData);
-
- return uicRailTicket;
-
- }
-
-
-
-
-
- /**
- * Populate from asn1 model.
- *
- * @param uicRailTicket the uic rail ticket
- * @param asnUicRailTicketData the asn uic rail ticket data
- */
- protected void populateFromAsn1Model(IUicRailTicket uicRailTicket, UicRailTicketData asnUicRailTicketData) {
-
- if (asnUicRailTicketData.getExtension()!= null && !asnUicRailTicketData.getExtension().isEmpty()) {
- for (ExtensionData asnExtension : asnUicRailTicketData.getExtension()){
- uicRailTicket.addExtension(convertExtension(asnExtension));
- }
- }
-
- if (asnUicRailTicketData.getIssuingDetail() != null) {
- populateIssuingDetail(asnUicRailTicketData.getIssuingDetail(), uicRailTicket.getIssuerDetails());
- }
-
- if (asnUicRailTicketData.getControlDetail() != null) {
- populateControlDetails(asnUicRailTicketData.getControlDetail(),uicRailTicket.getControlDetails());
- }
-
- if (asnUicRailTicketData.getTravelerDetail() != null) {
- populateTravelerDetails(asnUicRailTicketData.getTravelerDetail(),uicRailTicket.getTravelerDetails());
- }
-
- if (asnUicRailTicketData.getTransportDocument() != null && !asnUicRailTicketData.getTransportDocument().isEmpty()) {
- populateTravelDocuments(asnUicRailTicketData.getTransportDocument(),uicRailTicket,uicRailTicket.getIssuerDetails().getIssuingDate() );
- }
-
-
- }
-
-
-
-
-
-
- /**
- * Populate travel documents.
- *
- * @param asnTransportDocuments the asn transport documents
- * @param uicRailTicket the uic rail ticket
- * @param issuingDate the issuing date
- */
- protected void populateTravelDocuments(List<DocumentData> asnTransportDocuments,IUicRailTicket uicRailTicket, Date issuingDate) {
-
- for ( DocumentData asnDocument : asnTransportDocuments){
-
- if (asnDocument.getTicket() == null) {
- break;
- }
-
- if (asnDocument.getTicket().getExtension() != null) {
- IDocumentExtension ticket = convertDocumentExtension(asnDocument.getTicket().getExtension());
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addDocumentExtension(ticket);
- }
-
- if (asnDocument.getTicket().getCarCarriageReservation() != null) {
- ICarCarriageReservation ticket = convertCarCarriage(asnDocument.getTicket().getCarCarriageReservation(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addCarCarriageReservation(ticket);
- }
-
- if (asnDocument.getTicket().getCounterMark() != null) {
- ICounterMark ticket = convertCountermark(asnDocument.getTicket().getCounterMark(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addCounterMark(ticket);
- }
-
- if (asnDocument.getTicket().getCustomerCard()!= null) {
- ICustomerCard ticket = convertCustomerCard(asnDocument.getTicket().getCustomerCard(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addCustomerCard(ticket);
- }
-
- if (asnDocument.getTicket().getFipTicket()!= null) {
- IFipTicket ticket = convertFipTicket(asnDocument.getTicket().getFipTicket(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addFipTicket(ticket);
- }
-
- if (asnDocument.getTicket().getOpenTicket()!= null) {
- IOpenTicket ticket = convertOpenTicket(asnDocument.getTicket().getOpenTicket(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addOpenTicket(ticket);
- }
-
-
- if (asnDocument.getTicket().getParkingGround()!= null) {
- IParkingGround ticket = convertParkingGround(asnDocument.getTicket().getParkingGround(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addParkingGround(ticket);
- }
-
- if (asnDocument.getTicket().getPass() != null) {
- IPass ticket = convertPass(asnDocument.getTicket().getPass(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addPass(ticket);
- }
-
- if (asnDocument.getTicket().getStationPassage() != null) {
- IStationPassage ticket = convertStationPassage(asnDocument.getTicket().getStationPassage(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addStationPassage(ticket);
- }
-
- if (asnDocument.getTicket().getReservation() != null) {
- IReservation ticket = convertReservation(asnDocument.getTicket().getReservation(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addReservation(ticket);
- }
-
- if (asnDocument.getTicket().getVoucher()!= null) {
- IVoucher ticket = convertVoucher(asnDocument.getTicket().getVoucher(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addVoucher(ticket);
- }
-
- if (asnDocument.getTicket().getDelayConfirmation()!= null) {
- IDelayConfirmation ticket = convertDelayConfirmation(asnDocument.getTicket().getDelayConfirmation(),issuingDate);
- if (asnDocument.getToken() != null) {
- IToken token = convertToken(asnDocument.getToken());
- ticket.setToken(token);
- }
- uicRailTicket.addDelayConfirmation(ticket);
- }
- }
- }
-
-
-
-
-
-
-
-
-
-
- private IToken convertToken(TokenType asnToken) {
-
- if (asnToken == null) return null;
-
- IToken token = factory.createToken();
- token.setToken(asnToken.getToken());
- token.setTokenProvider(UicEncoderUtils.mapToString(asnToken.getTokenProviderNum(), asnToken.getTokenProviderIA5()));
- token.setTokenSpecification(asnToken.getTokenSpecification());
- return token;
- }
-
-
-
- private IDelayConfirmation convertDelayConfirmation(DelayConfirmation asnDocument, Date issuingDate) {
-
- IDelayConfirmation document = factory.createDelayConfirmation();
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum().longValue(),asnDocument.getReferenceIA5()));
-
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- document.setStation(UicEncoderUtils.mapToString(asnDocument.getStationNum(),asnDocument.getStationIA5()));
-
- document.setStationName(asnDocument.getStationNameUTF8());
-
- document.setArrivalDate(asnDocument.getPlannedArrivalDate());
- document.setArrivalUTCoffset(asnDocument.getDepartureUTCOffset());
-
- if (asnDocument.getConfirmationType() != null) {
- document.setConfirmationType(asnDocument.getConfirmationType().ordinal());
- }
-
- if (asnDocument.getDelay() != null) {
- document.setDelay(asnDocument.getDelay().intValue());
- }
-
- if (asnDocument.getTrainCancelled() != null) {
- document.setTrainCancelled(asnDocument.getTrainCancelled());
- } else {
- document.setTrainCancelled(false);
- }
-
- if (asnDocument.getAffectedTickets() !=null && !asnDocument.getAffectedTickets().isEmpty()) {
- for (TicketLinkType asnTicketLink : asnDocument.getAffectedTickets()) {
- document.addLinkedTicket(convertTicketLink(asnTicketLink));
- }
- }
-
- return document;
- }
-
-
-
-
-
-
- /**
- * Convert reservation.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i reservation
- */
- protected IReservation convertReservation(ReservationData asnDocument, Date issuingDate) {
-
- IReservation document = factory.createReservation();
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- document.setFromStation(UicEncoderUtils.mapToString(asnDocument.getFromStationNum(),asnDocument.getFromStationIA5()));
- document.setToStation(UicEncoderUtils.mapToString(asnDocument.getToStationNum(),asnDocument.getToStationIA5()));
- document.setFromStationName(asnDocument.getFromStationNameUTF8());
- document.setToStationName(asnDocument.getToStationNameUTF8());
-
- document.setDepartureDate(asnDocument.getDepartureDate(issuingDate));
- document.setArrivalDate(asnDocument.getArrivalDate(issuingDate));
-
- document.setDepartureUTCoffset(asnDocument.getDepartureUTCOffset());
- if (asnDocument.getArrivalUTCOffset() != null) {
- document.setArrivalUTCoffset(asnDocument.getArrivalUTCOffset());
- } else {
- document.setArrivalUTCoffset(asnDocument.getDepartureUTCOffset());
- }
-
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
-
- document.setCompartmentDetails(convertCompartmentDetails(asnDocument.getCompartmentDetails()));
-
- document.setLuggageRestriction(convertLuggageRestriction(asnDocument.getLuggage()));
-
- if (asnDocument.getNumberOfOverbooked() != null) {
- document.setNumberOfOverbooked(asnDocument.getNumberOfOverbooked().intValue());
- }
-
- if (asnDocument.getNumberOfSupplements() != null) {
- document.setNumberOfSupplements(asnDocument.getNumberOfSupplements().intValue());
- }
-
- if (asnDocument.getPlaces()!=null) {
- document.setPlaces(convertPlaces(asnDocument.getPlaces()));
- }
-
- if (asnDocument.getBicyclePlaces()!=null) {
- document.setBicyclePlaces(convertPlaces(asnDocument.getBicyclePlaces()));
- }
-
- document.setPriceType(IPriceTypeType.valueOf(asnDocument.getPriceType().name()));
-
- IServiceBrand serviceBrand = factory.createServiceBrand();
-
- if (asnDocument.getServiceBrand()!=null){
- serviceBrand.setServiceBrand(asnDocument.getServiceBrand().intValue());
- }
- serviceBrand.setServiceBrandAbbreviation(asnDocument.getServiceBrandAbrUTF8());
- serviceBrand.setServiceBrandDescription(asnDocument.getServiceBrandNameUTF8());
-
- document.setServiceBrand(serviceBrand);
-
- if (asnDocument.getServiceLevel()!=null && asnDocument.getServiceLevel().length() != 0) {
- document.setServiceLevel(asnDocument.getServiceLevel());
- }
-
- document.setTrain(UicEncoderUtils.mapToString(asnDocument.getTrainNum(), asnDocument.getTrainIA5()));
-
- if (asnDocument.getTypeOfSupplement()!=null) {
- document.setTypeOfSupplement(asnDocument.getTypeOfSupplement().intValue());
- }
-
- if (asnDocument.getBerth()!=null && !asnDocument.getBerth().isEmpty()){
- for (BerthDetailData asnBerth : asnDocument.getBerth()){
- document.addBerth(convertBerth(asnBerth));
- }
- }
-
- if (asnDocument.getCarrierNum()!=null && !asnDocument.getCarrierNum().isEmpty()){
- for(Long carrier :asnDocument.getCarrierNum()){
- document.addCarrier(carrier.toString());
- }
- }
- if (asnDocument.getCarrierIA5()!=null && !asnDocument.getCarrierIA5().isEmpty()){
- for(String carrier :asnDocument.getCarrierIA5()){
- document.addCarrier(carrier);
- }
- }
-
- if (asnDocument.getTariff()!=null && !asnDocument.getTariff().isEmpty()){
- for (TariffType asnTariff : asnDocument.getTariff()) {
- document.addTariff(convertTariff(asnTariff));
- }
- }
-
- document.setPrice(asnDocument.getPrice());
-
- if (asnDocument.getVatDetails() != null && !asnDocument.getVatDetails().isEmpty()){
- for (VatDetailType vat : asnDocument.getVatDetails()) {
- document.addVatDetail(decodeVatDetail(vat));
- }
- }
-
- return document;
- }
-
-
-
-
-
-
-
-
-
- /**
- * Convert car carriage.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i car carriage reservation
- */
- protected ICarCarriageReservation convertCarCarriage(CarCarriageReservationData asnDocument , Date issuingDate) {
-
- ICarCarriageReservation document = factory.createCarCarriageReservation();
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- document.setFromStation(UicEncoderUtils.mapToString(asnDocument.getFromStationNum(),asnDocument.getFromStationIA5()));
- document.setToStation(UicEncoderUtils.mapToString(asnDocument.getToStationNum(),asnDocument.getToStationIA5()));
- document.setFromStationName(asnDocument.getFromStationNameUTF8());
- document.setToStationName(asnDocument.getToStationNameUTF8());
-
- document.setBeginLoading(asnDocument.getBeginLoadingDate(issuingDate));
- document.setEndLoading(asnDocument.getEndLoadingDate(issuingDate));
-
- document.setLoadingTimeUTCoffset(asnDocument.getLoadingUTCOffset());
-
-
- if(asnDocument.getAttachedBicycles()!=null){
- document.setAttachedBicycles(asnDocument.getAttachedBicycles().intValue());
- }
-
- if (asnDocument.getAttachedBoats()!=null) {
- document.setAttachedBoats(asnDocument.getAttachedBoats().intValue());
- }
-
- if(asnDocument.getAttachedSurfboards()!=null) {
- document.setAttachedSurfboards(asnDocument.getAttachedSurfboards().intValue());
- }
-
- if (asnDocument.getBoatCategory()!=null){
- document.setBoatCategory(asnDocument.getBoatCategory().intValue());
- }
-
- if(asnDocument.getCarCategory()!=null){
- document.setCarCategory(asnDocument.getCarCategory().intValue());
- }
-
- if (asnDocument.getLoadingDeck()!=null){
- document.setLoadingDeck(ILoadingDeckType.valueOf(asnDocument.getLoadingDeck().name()));
- }
-
- if(asnDocument.getLoadingListEntry()!=null){
- document.setLoadingListEntry(asnDocument.getLoadingListEntry().intValue());
- }
-
- if (asnDocument.getRoofRackHeight()!=null){
- document.setRoofRackHeight(asnDocument.getRoofRackHeight().intValue());
- }
-
- document.setNumberPlate(asnDocument.getNumberPlate());
- document.setTrailerPlate(asnDocument.getTrailerPlate());
-
- if(asnDocument.getRoofRackType()!=null){
- document.setRoofRackType(IRoofRackType.valueOf(asnDocument.getRoofRackType().name()));
- }
-
- if(asnDocument.getTextileRoof()) {
- document.setTextileRoof(asnDocument.getTextileRoof());
- }
-
-
- document.setCompartmentDetails(convertCompartmentDetails(asnDocument.getCompartmentDetails()));
-
- if (asnDocument.getCarrierNum()!=null && !asnDocument.getCarrierNum().isEmpty()){
- for(Long carrier :asnDocument.getCarrierNum()){
- document.addCarrier(carrier.toString());
- }
- }
- if (asnDocument.getCarrierIA5()!=null && !asnDocument.getCarrierIA5().isEmpty()){
- for(String carrier :asnDocument.getCarrierIA5()){
- document.addCarrier(carrier);
- }
- }
-
- if (asnDocument.getCoach()!=null) {
- document.setCoach(asnDocument.getCoach());
- }
- if (asnDocument.getPlace()!=null) {
- document.setPlace(asnDocument.getPlace());
- }
-
-
- document.setPriceType(IPriceTypeType.valueOf(asnDocument.getPriceType().name()));
-
- IServiceBrand serviceBrand = factory.createServiceBrand();
-
- if (asnDocument.getServiceBrand()!=null){
- serviceBrand.setServiceBrand(asnDocument.getServiceBrand().intValue());
- }
- serviceBrand.setServiceBrandAbbreviation(asnDocument.getServiceBrandAbrUTF8());
- serviceBrand.setServiceBrandDescription(asnDocument.getServiceBrandNameUTF8());
-
- document.setServiceBrand(serviceBrand);
-
- document.setTrain(UicEncoderUtils.mapToString(asnDocument.getTrainNum(), asnDocument.getTrainIA5()));
-
-
- if (asnDocument.getTariff()!=null){
- document.setTariff(convertTariff(asnDocument.getTariff()));
- }
-
- document.setPrice(asnDocument.getPrice());
-
- if (asnDocument.getVatDetails() != null && !asnDocument.getVatDetails().isEmpty()){
- for (VatDetailType vat : asnDocument.getVatDetails()) {
- document.addVatDetail(decodeVatDetail(vat));
- }
- }
-
- return null;
- }
-
-
- private IVatDetail decodeVatDetail(VatDetailType asnVat) {
-
- IVatDetail vat = factory.createVatDetail();
-
- vat.setAmount(asnVat.getAmount());
- if (asnVat.getPercentage() != null){
- vat.setPercentage(asnVat.getPercentage().intValue());
- }
- if (asnVat.getCountry() != null) {
- vat.setCountry(asnVat.getCountry().intValue());
- }
- vat.setVatId(asnVat.getVatId());
- return vat;
- }
-
-
-
-
-
-
-
- /**
- * Convert compartment details.
- *
- * @param asnDetails the asn details
- * @return the i compartment details
- */
- protected ICompartmentDetails convertCompartmentDetails(CompartmentDetailsType asnDetails) {
-
- if (asnDetails == null) return null;
-
- ICompartmentDetails details = factory.createCompartmentDetails();
-
- if (asnDetails.getCompartmentType()!=null) {
- details.setCompartmentType(asnDetails.getCompartmentType().intValue());
- }
-
- if (asnDetails.getCoachType()!=null){
- details.setCoachType(asnDetails.getCoachType().intValue());
- }
-
- if (asnDetails.getSpecialAllocation()!=null) {
- details.setSpecialAllocation(asnDetails.getSpecialAllocation().intValue());
- }
-
- details.setCoachTypeDescr(asnDetails.getCoachTypeDescr());
- details.setCompartmentTypeDescr(asnDetails.getCompartmentTypeDescr());
- details.setSpecialAllocationDescr(asnDetails.getSpecialAllocationDescr());
-
- details.setPosition(ICompartmentPositionType.valueOf(asnDetails.getPosition().name()));
-
- return details;
- }
-
- /**
- * Convert places.
- *
- * @param asnPlaces the asn places
- * @return the i places
- */
- protected IPlaces convertPlaces(PlacesType asnPlaces) {
-
- if (asnPlaces == null) return null;
-
- IPlaces places = factory.createPlaces();
-
- places.setCoach(asnPlaces.getCoach());
- places.setPlaceDescription(asnPlaces.getPlaceDescription());
-
- if (asnPlaces.getPlaceNum()!=null && !asnPlaces.getPlaceNum().isEmpty()){
- for (Long place: asnPlaces.getPlaceNum()){
- places.addPlace(place.toString());
- }
- }
-
- if (asnPlaces.getPlaceIA5()!=null && !asnPlaces.getPlaceIA5().isEmpty()){
- for (String place: asnPlaces.getPlaceIA5()){
- places.addPlace(place);
- }
- }
-
- places.setPlaceString(asnPlaces.getPlaceString());
-
- return places;
- }
-
- /**
- * Convert berth.
- *
- * @param asnBerth the asn berth
- * @return the i berth
- */
- protected IBerth convertBerth(BerthDetailData asnBerth) {
-
- if (asnBerth == null) return null;
-
- IBerth berth = factory.createBerth();
- if (asnBerth.getGender()!= null) {
- berth.setGender(ICompartmentGenderType.valueOf(asnBerth.getGender().name()));
- }
- if (asnBerth.getNumberOfBerths()!=null) {
- berth.setNumberOfBerths(asnBerth.getNumberOfBerths().intValue());
- }
- if (asnBerth.getBerthType()!=null){
- berth.setType(IBerthTypeType.valueOf(asnBerth.getBerthType().name()));
- }
-
- return berth;
- }
-
- /**
- * Convert countermark.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i counter mark
- */
- protected ICounterMark convertCountermark(CountermarkData asnDocument , Date issuingDate) {
-
- ICounterMark document = factory.createCounterMark();
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
-
- document.setValidFromUTCoffset(asnDocument.getValidFromUTCOffset());
- if (asnDocument.getValidUntilUTCOffset() != null) {
- document.setValidUntilUTCoffset(asnDocument.getValidUntilUTCOffset());
- } else {
- document.setValidUntilUTCoffset(asnDocument.getValidFromUTCOffset());
- }
-
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
-
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
- document.setTicketReference(UicEncoderUtils.mapToString(asnDocument.getTicketReferenceNum(),asnDocument.getTicketReferenceIA5()));
-
- document.setFromStation(UicEncoderUtils.mapToString(asnDocument.getFromStationNum(),asnDocument.getFromStationIA5()));
- document.setToStation(UicEncoderUtils.mapToString(asnDocument.getToStationNum(),asnDocument.getToStationIA5()));
-
- document.setFromStationName(asnDocument.getFromStationNameUTF8());
- document.setToStationName(asnDocument.getToStationNameUTF8());
- document.setValidRegionDesc(asnDocument.getValidRegionDesc());
-
- if (asnDocument.getValidRegion()!= null && !asnDocument.getValidRegion().isEmpty()) {
- for (RegionalValidityType validRegion :asnDocument.getValidRegion()){
- document.addValidRegionList(convertValidRegion(validRegion, issuingDate));
- }
- }
-
- document.setReturnDescription(convertReturnDescription(asnDocument.getReturnDescription(), issuingDate));
-
-
- if(asnDocument.getReturnIncluded()!=null){
- document.setReturnIncluded(asnDocument.getReturnIncluded());
- } else {
- document.setReturnIncluded(false);
- }
-
-
-
- document.setGroupName(asnDocument.getGroupName());
-
- if (asnDocument.getNumberOfCountermark() != null) {
- document.setNumberOfCountermark(asnDocument.getNumberOfCountermark().intValue());
- }
-
- if (asnDocument.getTotalOfCountermarks() != null) {
- document.setTotalOfCountermarks(asnDocument.getTotalOfCountermarks().intValue());
- }
-
- return document;
-
- }
-
- /**
- * Convert return description.
- *
- * @param asnReturnRoute the asn return route
- * @param issuingDate the issuing date
- * @return the i return route description
- */
- protected IReturnRouteDescription convertReturnDescription(ReturnRouteDescriptionType asnReturnRoute, Date issuingDate) {
-
- if (asnReturnRoute == null) return null;
-
- IReturnRouteDescription route = factory.createReturnRouteDescription();
-
- route.setFromStation(UicEncoderUtils.mapToString(asnReturnRoute.getFromStationNum(),asnReturnRoute.getFromStationIA5()));
- route.setToStation(UicEncoderUtils.mapToString(asnReturnRoute.getToStationNum(),asnReturnRoute.getToStationIA5()));
-
- route.setFromStationName(asnReturnRoute.getFromStationNameUTF8());
- route.setToStationName(asnReturnRoute.getToStationNameUTF8());
- route.setValidRegionDesc(asnReturnRoute.getValidReturnRegionDesc());
-
- if (asnReturnRoute.getValidReturnRegion()!= null && !asnReturnRoute.getValidReturnRegion().isEmpty()) {
- for (RegionalValidityType validRegion :asnReturnRoute.getValidReturnRegion()){
- route.addValidRegionList(convertValidRegion(validRegion, issuingDate));
- }
- }
-
- return route;
- }
-
- /**
- * Convert luggage restriction.
- *
- * @param asnLuggage the asn luggage
- * @return the i luggage restriction
- */
- protected ILuggageRestriction convertLuggageRestriction(LuggageRestrictionType asnLuggage) {
-
- if (asnLuggage == null) return null;
-
- ILuggageRestriction luggage = factory.createLuggageRestriction();
- if (asnLuggage.getMaxHandLuggagePieces()!=null){
- luggage.setMaxHandLuggagePieces(asnLuggage.getMaxHandLuggagePieces().intValue());
- }
- if (asnLuggage.getMaxNonHandLuggagePieces()!=null){
- luggage.setMaxNonHandLuggagePieces(asnLuggage.getMaxNonHandLuggagePieces().intValue());
- }
-
-
- if (asnLuggage.getRegisteredLuggage()!= null &&!asnLuggage.getRegisteredLuggage().isEmpty()){
- for (RegisteredLuggageType rl: asnLuggage.getRegisteredLuggage()){
- luggage.addRegisteredLuggage(convertRegisteredLuggage(rl));
- }
- }
- return luggage;
- }
-
- /**
- * Convert registered luggage.
- *
- * @param rl the rl
- * @return the i registered luggage
- */
- protected IRegisteredLuggage convertRegisteredLuggage(RegisteredLuggageType rl) {
-
- if (rl == null) return null;
-
- IRegisteredLuggage luggage= factory.createRegisteredLuggage();
- if (rl.getMaxSize()!=null){
- if (rl.getMaxSize()!=null) {
- luggage.setMaxSize(rl.getMaxSize().intValue());
- }
- }
- if (rl.getMaxWeight()!=null){
- if(rl.getMaxWeight()!=null){
- luggage.setMaxWeight(rl.getMaxWeight().intValue());
- }
- }
- luggage.setRegistrationId(rl.getRegistrationId());
- return luggage;
- }
-
-
- /**
- * Convert open ticket.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i open ticket
- */
- protected IOpenTicket convertOpenTicket(OpenTicketData asnDocument , Date issuingDate) {
-
- IOpenTicket document = factory.createOpenTicket();
-
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
-
- document.setValidFromUTCoffset(asnDocument.getValidFromUTCOffset());
- if (asnDocument.getValidUntilUTCOffset() != null) {
- document.setValidUntilUTCoffset(asnDocument.getValidUntilUTCOffset());
- } else {
- document.setValidUntilUTCoffset(asnDocument.getValidFromUTCOffset());
- }
-
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- if (asnDocument.getExcludedServiceBrands()!=null && !asnDocument.getExcludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getExcludedServiceBrands()){
- document.addExcludedServiceBrand(number.intValue());
- }
- }
-
- if (asnDocument.getCarriersNum()!=null && !asnDocument.getCarriersNum().isEmpty()){
- for(Long carrier :asnDocument.getCarriersNum()){
- document.addIncludedCarrier(carrier.toString());
- }
- }
- if (asnDocument.getCarriersIA5()!=null && !asnDocument.getCarriersIA5().isEmpty()){
- for(String carrier :asnDocument.getCarriersIA5()){
- document.addIncludedCarrier(carrier);
- }
- }
-
-
- if (asnDocument.getIncludedServiceBrands()!=null && !asnDocument.getIncludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getIncludedServiceBrands()){
- document.addIncludedServiceBrand(number.intValue());
- }
- }
-
- if (asnDocument.getTariffs()!=null && !asnDocument.getTariffs().isEmpty()){
- for(TariffType asnTariff :asnDocument.getTariffs()){
- document.addTariff(convertTariff(asnTariff));
- }
- }
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- document.setFromStation(UicEncoderUtils.mapToString(asnDocument.getFromStationNum(),asnDocument.getFromStationIA5()));
- document.setToStation(UicEncoderUtils.mapToString(asnDocument.getToStationNum(),asnDocument.getToStationIA5()));
- document.setFromStationName(asnDocument.getFromStationNameUTF8());
- document.setToStationName(asnDocument.getToStationNameUTF8());
- document.setValidRegionDesc(asnDocument.getValidRegionDesc());
- if (asnDocument.getValidRegion()!= null && !asnDocument.getValidRegion().isEmpty()) {
- for (RegionalValidityType validRegion :asnDocument.getValidRegion()){
- document.addValidRegionList(convertValidRegion(validRegion, issuingDate));
- }
- }
-
- if (asnDocument.getIssuerAutorizationId() != null) {
- document.setAuthorizationCode(asnDocument.getIssuerAutorizationId().intValue());
- }
-
- if (asnDocument.getExtIssuerId() != null) {
- document.setExternalIssuer(asnDocument.getExtIssuerId().intValue());
- }
-
- document.setLuggageRestriction(convertLuggageRestriction(asnDocument.getLuggage()));
-
- document.setReturnDescription(convertReturnDescription(asnDocument.getReturnDescription(), issuingDate));
- if(asnDocument.getReturnIncluded()!=null){
- document.setReturnIncluded(asnDocument.getReturnIncluded());
- }
-
- if (asnDocument.getActivatedDay()!=null && !asnDocument.getActivatedDay().isEmpty()) {
- document.getActivatedDays().addAll(asnDocument.getActivatedDays(issuingDate));
- }
-
- if (asnDocument.getIncludedAddOns()!= null && !asnDocument.getIncludedAddOns().isEmpty()) {
-
- for (IncludedOpenTicketType asnAddOn :asnDocument.getIncludedAddOns()) {
-
- IIncludedOpenTicket addOn = convertIncludedOpenTicket(asnAddOn, issuingDate, document.getClassCode());
- if (addOn != null) {
- document.addIncludedAddOn(addOn);
- }
- }
-
-
-
- }
-
- document.setPrice(asnDocument.getPrice());
-
- if (asnDocument.getVatDetails() != null && !asnDocument.getVatDetails().isEmpty()){
- for (VatDetailType vat : asnDocument.getVatDetails()) {
- document.addVatDetail(decodeVatDetail(vat));
- }
- }
-
- return document;
-
- }
-
-
-
- /**
- * Convert included open ticket.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @param classCode the class code
- * @return the simple included open ticket
- */
- private IIncludedOpenTicket convertIncludedOpenTicket( IncludedOpenTicketType asnDocument, Date issuingDate,ITravelClassType classCode) {
-
- IIncludedOpenTicket document = factory.createIncludedOpenTicket();
-
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- } else {
- document.setClassCode(classCode);
- }
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
-
- document.setValidFromUTCoffset(asnDocument.getValidFromUTCOffset());
- if (asnDocument.getValidUntilUTCOffset() != null) {
- document.setValidUntilUTCoffset(asnDocument.getValidUntilUTCOffset());
- } else {
- document.setValidUntilUTCoffset(asnDocument.getValidFromUTCOffset());
- }
-
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- if (asnDocument.getExcludedServiceBrands()!=null && !asnDocument.getExcludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getExcludedServiceBrands()){
- document.addExcludedServiceBrand(number.intValue());
- }
- }
- if (asnDocument.getIncludedCarriersNum()!=null && !asnDocument.getIncludedCarriersNum().isEmpty()){
- for(Long carrier :asnDocument.getIncludedCarriersNum()){
- document.addIncludedCarrier(carrier.toString());
- }
- }
- if (asnDocument.getIncludedCarriersIA5()!=null && !asnDocument.getIncludedCarriersIA5().isEmpty()){
- for(String carrier :asnDocument.getIncludedCarriersIA5()){
- document.addIncludedCarrier(carrier);
- }
- }
-
- if (asnDocument.getIncludedServiceBrands()!=null && !asnDocument.getIncludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getIncludedServiceBrands()){
- document.addIncludedServiceBrand(number.intValue());
- }
- }
-
- if (asnDocument.getTariffs()!=null && !asnDocument.getTariffs().isEmpty()){
- for(TariffType asnTariff :asnDocument.getTariffs()){
- document.addTariff(convertTariff(asnTariff));
- }
- }
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
-
- if (asnDocument.getValidRegion()!= null && !asnDocument.getValidRegion().isEmpty()) {
- for (RegionalValidityType validRegion :asnDocument.getValidRegion()){
- document.addValidRegionList(convertValidRegion(validRegion, issuingDate));
- }
- }
-
- if (asnDocument.getIssuerAutorizationId()!=null){
- document.setAuthorizationCode(asnDocument.getIssuerAutorizationId().intValue());
- }
- if (asnDocument.getExternalIssuerId()!=null){
- document.setExternalIssuer(asnDocument.getExternalIssuerId().intValue());
- }
- return document;
- }
-
-
-
-
-
-
-
- /**
- * Convert station passage.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i station passage
- */
- protected IStationPassage convertStationPassage(StationPassageData asnDocument , Date issuingDate) {
-
- IStationPassage document = factory.createStationPassage();
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
-
- document.setValidFromUTCoffset(asnDocument.getValidFromUTCOffset());
- if (asnDocument.getValidUntilUTCOffset() != null) {
- document.setValidUntilUTCoffset(asnDocument.getValidUntilUTCOffset());
- } else {
- document.setValidUntilUTCoffset(asnDocument.getValidFromUTCOffset());
- }
-
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- if (asnDocument.getNumberOfDaysValid()!=null) {
- document.setNumberOfdaysAllowed(asnDocument.getNumberOfDaysValid().intValue());
- }
-
- if (asnDocument.getStationNum()!=null && !asnDocument.getStationNum().isEmpty()){
- for (Long station : asnDocument.getStationNum()) {
- if (station != null) {
- document.addStation(station.toString());
- }
- }
- }
- if (asnDocument.getStationIA5()!=null && !asnDocument.getStationIA5().isEmpty()){
- for (String station : asnDocument.getStationIA5()) {
- document.addStation(station);
- }
- }
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- document.setProductName(asnDocument.getProductName());
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
- if (asnDocument.getStationNameUTF8()!= null && asnDocument.getStationNameUTF8().isEmpty() ) {
- for (String name : asnDocument.getStationNameUTF8()) {
- document.addStation(name);
- }
- }
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
-
- if (asnDocument.getAreaCodeIA5() != null && !asnDocument.getAreaCodeIA5().isEmpty()) {
- for (String code : asnDocument.getAreaCodeIA5()) {
- document.addAreaCode(code);
- }
- }
- if (asnDocument.getAreaCodeNum() != null && !asnDocument.getAreaCodeNum().isEmpty()) {
- for (Long code : asnDocument.getAreaCodeNum()) {
- if (code != null) {
- document.addAreaCode(code.toString());
- }
- }
- }
-
- if (asnDocument.getAreaNameUTF8() != null && !asnDocument.getAreaNameUTF8().isEmpty()) {
- for (String code : asnDocument.getAreaNameUTF8()) {
- document.addAreaName(code);
- }
- }
-
-
-
- return document;
- }
-
-
- /**
- * Convert valid region.
- *
- * @param asnRegion the asn region
- * @param issuingDate the issuing date
- * @return the i regional validity
- */
- protected IRegionalValidity convertValidRegion(RegionalValidityType asnRegion, Date issuingDate) {
-
- if (asnRegion == null) return null;
-
- if (asnRegion.getLines()!=null){
- return convertLine(asnRegion.getLines());
- }
- if (asnRegion.getPolygone()!=null){
- return convertPolygone(asnRegion.getPolygone());
- }
- if (asnRegion.getTrainLink()!=null){
- return convertTrainLink(asnRegion.getTrainLink(),issuingDate);
- }
- if (asnRegion.getViaStations()!=null){
- return convertViaStation(asnRegion.getViaStations());
- }
- if (asnRegion.getZones()!=null){
- return convertZone(asnRegion.getZones());
- }
- return null;
- }
-
-
- /**
- * Convert parking ground.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i parking ground
- */
- protected IParkingGround convertParkingGround(ParkingGroundData asnDocument , Date issuingDate) {
-
- IParkingGround document = factory.createParkingGround();
-
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
-
-
- document.setAccessCode(asnDocument.getAccessCode());
- document.setLocation(asnDocument.getLocation());
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
-
- document.setNumberPlate(asnDocument.getNumberPlate());
- document.setEntryTrack(asnDocument.getEntryTrack());
-
-
- document.setFromParkingDate(asnDocument.getFromParkingDate(issuingDate));
- document.setToParkingDate(asnDocument.getToParkingDate(issuingDate));
-
- document.setParkingGroundId(asnDocument.getParkingGroundId());
-
- document.setSpecialInformation(asnDocument.getSpecialInformation());
-
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
-
- document.setStation(UicEncoderUtils.mapToString(asnDocument.getStationNum(),asnDocument.getStationIA5()));
-
- document.setPrice(asnDocument.getPrice());
-
- if (asnDocument.getVatDetails() != null && !asnDocument.getVatDetails().isEmpty()){
- for (VatDetailType vat : asnDocument.getVatDetails()) {
- document.addVatDetail(decodeVatDetail(vat));
- }
- }
-
- return document;
- }
-
- /**
- * Convert via station.
- *
- * @param asnDocument the asn via
- * @return the i via station
- */
- protected IViaStation convertViaStation(ViaStationType asnDocument) {
-
- if (asnDocument == null) return null;
-
- IViaStation via = factory.createViaStation();
-
- if (asnDocument.getBorder()!=null) {
- via.setBorder(asnDocument.getBorder());
- }
-
- if (asnDocument.getRouteId() != null) {
- via.setRouteId(asnDocument.getRouteId().intValue());
- }
-
- if (asnDocument.getStationCodeTable()!=null){
- via.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
-
- if (asnDocument.getStationNum() != null) {
- via.setStation(asnDocument.getStationNum().toString());
- } else if (asnDocument.getStationIA5() != null) {
- via.setStation(asnDocument.getStationIA5());
- }
-
- if (asnDocument.getCarriersNum()!=null && !asnDocument.getCarriersNum().isEmpty()){
- for(Long carrier :asnDocument.getCarriersNum()){
- via.addCarrier(carrier.toString());
- }
- }
- if (asnDocument.getCarriersIA5()!=null && !asnDocument.getCarriersIA5().isEmpty()){
- for(String carrier :asnDocument.getCarriersIA5()){
- via.addCarrier(carrier);
- }
- }
-
- if (asnDocument.getRoute()!= null && !asnDocument.getRoute().isEmpty()) {
- for ( ViaStationType routeVia: asnDocument.getRoute()) {
- via.addRouteStation(convertViaStation(routeVia));
- }
- }
- if (asnDocument.getAlternativeRoutes()!= null && !asnDocument.getAlternativeRoutes().isEmpty()) {
- for ( ViaStationType routeVia: asnDocument.getAlternativeRoutes()) {
- via.addRouteStation(convertViaStation(routeVia));
- }
- }
-
-
- return via;
- }
-
- /**
- * Convert train link.
- *
- * @param asnTrainLink the asn train link
- * @param issuingDate the issuing date
- * @return the i regional validity
- */
- protected IRegionalValidity convertTrainLink(TrainLinkType asnTrainLink, Date issuingDate) {
-
- ITrainLink trainLink = factory.createTrainLink();
-
- trainLink.setTrain(UicEncoderUtils.mapToString(asnTrainLink.getTrainNum(), asnTrainLink.getTrainIA5()));
-
- trainLink.setFromStation(UicEncoderUtils.mapToString(asnTrainLink.getFromStationNum(),asnTrainLink.getFromStationIA5()));
- trainLink.setToStation(UicEncoderUtils.mapToString(asnTrainLink.getToStationNum(),asnTrainLink.getToStationIA5()));
- trainLink.setFromStationName(asnTrainLink.getFromStationName());
- trainLink.setToStationName(asnTrainLink.getToStationName());
-
- trainLink.setDepartureDateTime(asnTrainLink.getDepartureDate(issuingDate));
-
- return trainLink;
- }
-
- /**
- * Convert zone.
- *
- * @param asnDocument the asn zone
- * @return the i regional validity
- */
- protected IRegionalValidity convertZone(ZoneType asnDocument) {
-
- if (asnDocument == null) return null;
-
- IZone zone = factory.createZone();
-
- zone.setBinaryZoneId(asnDocument.getBinaryZoneId());
- zone.setCarrier(UicEncoderUtils.mapToString(asnDocument.getCarrierNum(),asnDocument.getCarrierIA5()));
-
- if (asnDocument.getCity() != null) {
- zone.setCity(asnDocument.getCity().intValue());
- }
- if (asnDocument.getStationCodeTable()!=null){
- zone.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- zone.setEntryStation(UicEncoderUtils.mapToString(asnDocument.getEntryStationNum(),asnDocument.getEntryStationIA5()));
- zone.setTerminatingStation(UicEncoderUtils.mapToString(asnDocument.getTerminatingStationNum(),asnDocument.getTerminatingStationIA5()));
-
- zone.setNUTScode(asnDocument.getNutsCode());
-
- return zone;
- }
-
- /**
- * Convert polygone.
- *
- * @param asnPolygone the asn polygone
- * @return the i regional validity
- */
- protected IRegionalValidity convertPolygone(PolygoneType asnPolygone) {
-
- if (asnPolygone == null) return null;
-
- IPolygone polygone = factory.createPolygone();
-
- IGeoCoordinate firstEdge = convertGeoCoordinate(asnPolygone.getFirstEdge());
-
- if (firstEdge == null) return null;
-
- if (asnPolygone.getEdges()!=null && !asnPolygone.getEdges().isEmpty()) {
- for (DeltaCoordinates asnEdge :asnPolygone.getEdges()){
-
- IGeoCoordinate edge = firstEdge.clone();
- try {
- edge.addLongitude(asnEdge.getLongitude().longValue());
- edge.addLatitude(asnEdge.getLatitude().longValue());
- } catch (Exception e) {
-
- }
- polygone.addEdge(edge);
- }
- }
- return polygone;
- }
-
- /**
- * Convert line.
- *
- * @param asnDocument the asn line
- * @return the i regional validity
- */
- protected IRegionalValidity convertLine(LineType asnDocument) {
-
- if (asnDocument == null) return null;
-
- ILine line = factory.createLine();
-
- line.setBinaryZoneId(asnDocument.getBinaryZoneId());
- line.setCarrier(UicEncoderUtils.mapToString(asnDocument.getCarrierNum(),asnDocument.getCarrierIA5()));
- if (asnDocument.getCity()!=null) {
- line.setCity(asnDocument.getCity().intValue());
- }
- if (asnDocument.getStationCodeTable()!=null){
- line.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- line.setEntryStation(UicEncoderUtils.mapToString(asnDocument.getEntryStationNum(),asnDocument.getEntryStationIA5()));
- line.setTerminatingStation(UicEncoderUtils.mapToString(asnDocument.getTerminatingStationNum(),asnDocument.getTerminatingStationIA5()));
- if (asnDocument.getLineId()!=null && !asnDocument.getLineId().isEmpty()){
- for (Long lineId : asnDocument.getLineId()) {
- line.addLineId(lineId.intValue());
- }
- }
- return line;
- }
-
- /**
- * Convert tariff.
- *
- * @param asnTariff the asn tariff
- * @return the i tariff
- */
- protected ITariff convertTariff(TariffType asnTariff) {
-
- if (asnTariff== null) return null;
-
- ITariff tariff = factory.createTariff();
-
- if (asnTariff.getAgeAbove() != null) {
- tariff.setAgeAbove(asnTariff.getAgeAbove().intValue());
- }
-
- if (asnTariff.getAgeBelow() != null) {
- tariff.setAgeBelow(asnTariff.getAgeBelow().intValue());
- }
-
- if(asnTariff.getNumberOfPassengers()!=null){
- tariff.setNumberOfPassengers(asnTariff.getNumberOfPassengers().intValue());
- }
-
- if (asnTariff.getSeriesDataDetails() != null) {
- tariff.setSeriesDataDetails(convertSeriesDataDetails(asnTariff.getSeriesDataDetails()));
- }
-
-
- if (asnTariff.getPassengerType()!=null) {
- tariff.setPassengerType(IPassengerType.valueOf(asnTariff.getPassengerType().name()));
- }
-
-
- if(asnTariff.getRestrictedToCountryOfResidence()!=null){
- tariff.setRestrictedToCountryOfResidence(asnTariff.getRestrictedToCountryOfResidence());
- }
- if (asnTariff.getRestrictedToRouteSection()!=null){
- tariff.setRestrictedToRouteSection(convertRouteSection(asnTariff.getRestrictedToRouteSection()));
- }
-
-
- tariff.setTariffDescription(asnTariff.getTariffDesc());
- tariff.setTariffId(UicEncoderUtils.mapToString(asnTariff.getTariffIdNum(),asnTariff.getTariffIdIA5()));
-
- if (asnTariff.getTraverlerid()!= null && !asnTariff.getTraverlerid().isEmpty() ) {
- for (Long number : asnTariff.getTraverlerid()){
- tariff.addTravelerId(number.intValue());
- }
- }
-
- if (asnTariff.getReductionCard()!=null && !asnTariff.getReductionCard().isEmpty()){
- for(CardReferenceType card : asnTariff.getReductionCard()){
- tariff.addReductionCard(convertCardReference(card));
- }
- }
-
- return tariff;
- }
-
- private ISeriesDataDetails convertSeriesDataDetails(SeriesDetailType asnDetails) {
-
- if (asnDetails == null) return null;
-
- ISeriesDataDetails details = factory.createSeriesDataDetails();
-
- if (asnDetails.getSeries() != null) {
- details.setSeries(asnDetails.getSeries().intValue());
- }
-
- if (asnDetails.getSupplyingCarrier() != null) {
- details.setSupplyingCarrier(asnDetails.getSupplyingCarrier().intValue());
- }
-
- if (asnDetails.getOfferIdentification() != null) {
- details.setOfferIdentification(asnDetails.getOfferIdentification().intValue());
- }
-
- return details;
- }
-
-
-
-
-
-
-
- /**
- * Convert route section.
- *
- * @param asnDocument the asn document
- * @return the i route section
- */
- protected IRouteSection convertRouteSection(RouteSectionType asnDocument) {
-
- if (asnDocument == null) return null;
-
- IRouteSection document = factory.createRouteSection();
- if (asnDocument.getStationCodeTable()!=null){
- document.setStationCodeTable(IStationCodeTable.valueOf(asnDocument.getStationCodeTable().name()));
- }
- document.setFromStation(UicEncoderUtils.mapToString(asnDocument.getFromStationNum(),asnDocument.getFromStationIA5()));
- document.setToStation(UicEncoderUtils.mapToString(asnDocument.getToStationNum(),asnDocument.getToStationIA5()));
- document.setFromStationName(asnDocument.getFromStationNameUTF8());
- document.setToStationName(asnDocument.getToStationNameUTF8());
- return document;
- }
-
- /**
- * Convert fip ticket.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i fip ticket
- */
- protected IFipTicket convertFipTicket(FIPTicketData asnDocument , Date issuingDate) {
-
- if (asnDocument == null) return null;
-
- IFipTicket document = factory.createFipTicket();
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
-
-
-
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- if (asnDocument.getActivatedDay()!=null && !asnDocument.getActivatedDay().isEmpty()) {
- document.getActivatedDays().addAll(asnDocument.getActivatedDays(issuingDate));
- }
-
- if(asnDocument.getIncludesSupplements()!=null) {
- document.setIncludesSupplements(asnDocument.getIncludesSupplements());
- }
- if(asnDocument.getNumberOfTravelDays()!=null){
- document.setNumberOfTravelDates(asnDocument.getNumberOfTravelDays().intValue());
- }
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
-
- return document;
- }
-
- /**
- * Convert pass.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i pass
- */
- protected IPass convertPass(PassData asnDocument, Date issuingDate) {
-
- if (asnDocument == null) return null;
-
- IPass document = factory.createPass();
-
- if(asnDocument.getClassCode()!=null){
- document.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
-
- document.setValidFrom(asnDocument.getValidFromDate(issuingDate));
- document.setValidFromUTCoffset(asnDocument.getValidFromUTCOffset());
-
- document.setValidUntil(asnDocument.getValidUntilDate(issuingDate));
- document.setValidUntilUTCoffset(asnDocument.getValidUntilUTCOffset());
-
- if (asnDocument.getActivatedDay()!=null && !asnDocument.getActivatedDay().isEmpty()) {
- if (document.getValidFrom() != null) {
- document.getActivatedDays().addAll(asnDocument.getActivatedDays(document.getValidFrom()));
- } else {
- document.getActivatedDays().addAll(asnDocument.getActivatedDays(issuingDate));
- }
- }
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
- document.setInfoText(asnDocument.getInfoText());
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- if (asnDocument.getNumberOfDaysOfTravel() != null) {
- document.setNumberOfDaysOfTravel(asnDocument.getNumberOfDaysOfTravel().intValue());
- }
- if (asnDocument.getNumberOfPossibleTrips() != null) {
- document.setNumberOfPossibleTrips(asnDocument.getNumberOfPossibleTrips().intValue());
- }
-
- document.setPassDescription(asnDocument.getPassDescription());
- if(asnDocument.getPassType()!=null){
- document.setPassType(asnDocument.getPassType().intValue());
- }
-
-
-
- if (asnDocument.getCountries()!=null && !asnDocument.getCountries().isEmpty()){
- for(Long number :asnDocument.getCountries()){
- document.addCountry(number.intValue());
- }
- }
- if (asnDocument.getExcludedServiceBrands()!=null && !asnDocument.getExcludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getExcludedServiceBrands()){
- document.addExcludedServiceBrand(number.intValue());
- }
- }
-
- if (asnDocument.getIncludedCarriersNum()!=null && !asnDocument.getIncludedCarriersNum().isEmpty()){
- for(Long carrier :asnDocument.getIncludedCarriersNum()){
- document.addIncludedCarrier(carrier.toString());
- }
- }
- if (asnDocument.getIncludedCarriersIA5()!=null && !asnDocument.getIncludedCarriersIA5().isEmpty()){
- for(String carrier :asnDocument.getIncludedCarriersIA5()){
- document.addIncludedCarrier(carrier);
- }
- }
-
- if (asnDocument.getExcludedCarriersNum()!=null && !asnDocument.getExcludedCarriersNum().isEmpty()){
- for(Long carrier :asnDocument.getExcludedCarriersNum()){
- document.addExcludedCarrier(carrier.toString());
- }
- }
- if (asnDocument.getExcludedCarriersIA5()!=null && !asnDocument.getExcludedCarriersIA5().isEmpty()){
- for(String carrier :asnDocument.getExcludedCarriersIA5()){
- document.addExcludedCarrier(carrier);
- }
- }
-
-
- if (asnDocument.getIncludedServiceBrands()!=null && !asnDocument.getIncludedServiceBrands().isEmpty()){
- for(Long number :asnDocument.getIncludedServiceBrands()){
- document.addIncludedServiceBrand(number.intValue());
- }
- }
-
- if (asnDocument.getTariffs()!=null && !asnDocument.getTariffs().isEmpty()){
- for(TariffType asnTariff :asnDocument.getTariffs()){
- document.addTariff(convertTariff(asnTariff));
- }
- }
-
- if (asnDocument.getValidRegion()!=null && !asnDocument.getValidRegion().isEmpty()){
- for(RegionalValidityType asnRegion :asnDocument.getValidRegion()){
- document.addValidRegion(convertValidRegion(asnRegion, issuingDate));
- }
- }
-
-
- if (asnDocument.getValidityPeriodDetails() != null) {
- document.setValidityDetails(convertValidityDetails(asnDocument.getValidityPeriodDetails(), issuingDate));
- }
-
- document.setPrice(asnDocument.getPrice());
-
- if (asnDocument.getVatDetails() != null && !asnDocument.getVatDetails().isEmpty()){
- for (VatDetailType vat : asnDocument.getVatDetails()) {
- document.addVatDetail(decodeVatDetail(vat));
- }
- }
-
-
- return document;
- }
-
- private IValidityDetails convertValidityDetails(ValidityPeriodDetailType asnDetails, Date issuingDate) {
-
- if (asnDetails == null) return null;
-
- IValidityDetails details = factory.createValidityDetails();
-
- if (asnDetails.getExcludedTimeRange()!= null && !asnDetails.getExcludedTimeRange().isEmpty()) {
-
- ITimeRange range = factory.createTimeRange();
-
- for (TimeRangeType asnRange : asnDetails.getExcludedTimeRange() ) {
-
- if (asnRange.getFromTime() != null) {
- range.setFromTime(asnRange.getFromTime().intValue());
- }
- if (asnRange.getUntilTime() != null) {
- range.setUntilTime(asnRange.getUntilTime().intValue());
- }
-
- details.addTimeRanges(range);
- }
-
-
-
- }
-
- if (asnDetails.getValidityPeriod()!= null && !asnDetails.getValidityPeriod().isEmpty()) {
-
- IValidityRange range = factory.createValidityRange();
-
- for (ValidityPeriodType asnRange : asnDetails.getValidityPeriod() ) {
-
- range.setFromDate(asnRange.getValidFromDate(issuingDate));
- range.setUntilDate(asnRange.getValidUntilDate(issuingDate));
-
- range.setValidFromUTCoffset(asnRange.getValidFromUTCOffset());
- if (asnRange.getValidUntilUTCOffset() != null) {
- range.setValidUntilUTCoffset(asnRange.getValidUntilUTCOffset());
- } else {
- range.setValidUntilUTCoffset(asnRange.getValidFromUTCOffset());
- }
-
- details.addValidityRanges(range);
- }
-
- }
-
- return details;
- }
-
-
-
-
-
-
-
- /**
- * Convert voucher.
- *
- * @param asnDocument the asn document
- * @param issuingDate the issuing date
- * @return the i voucher
- */
- protected IVoucher convertVoucher(VoucherData asnDocument , Date issuingDate) {
-
- if (asnDocument == null) return null;
-
- IVoucher document = factory.createVoucher();
-
- document.setValidFrom(asnDocument.getValidFrom());
-
- document.setValidUntil(asnDocument.getValidUntil());
-
- document.setInfoText(asnDocument.getInfoText());
- document.setProductId(UicEncoderUtils.mapToString(asnDocument.getProductIdNum(),asnDocument.getProductIdIA5()));
- document.setProductOwner(UicEncoderUtils.mapToString(asnDocument.getProductOwnerNum(),asnDocument.getProductOwnerIA5()));
- document.setReference(UicEncoderUtils.mapToString(asnDocument.getReferenceNum(),asnDocument.getReferenceIA5()));
-
- if (asnDocument.getValue()!=null) {
- document.setAmount(asnDocument.getValue().intValue());
- }
-
- if (asnDocument.getType()!= null) {
- document.setType(asnDocument.getType().intValue());
- }
-
- document.setExtension(convertExtension(asnDocument.getExtension()));
-
- return document;
- }
-
- /**
- * Convert customer card.
- *
- * @param asnDocument the asn card
- * @param issuingDate the issuing date
- * @return the i customer card
- */
- protected ICustomerCard convertCustomerCard(CustomerCardData asnDocument, Date issuingDate ) {
-
- if (asnDocument == null) return null;
-
- ICustomerCard card = factory.createCustomerCard();
-
- card.setCardId(UicEncoderUtils.mapToString(asnDocument.getCardIdNum(), asnDocument.getCardIdIA5()));
- if (asnDocument.getCardType()!= null) {
- card.setCardType(asnDocument.getCardType().intValue());
- }
- card.setCardTypeDescr(asnDocument.getCardTypeDescr());
- if(asnDocument.getClassCode()!=null){
- card.setClassCode(ITravelClassType.valueOf(asnDocument.getClassCode().name()));
- }
- if(asnDocument.getCustomer()!=null) {
- card.setCustomer(convertTraveler(asnDocument.getCustomer()));
- }
- if (asnDocument.getCustomerStatus()!=null) {
- card.setCustomerStatus(asnDocument.getCustomerStatus().intValue());
- }
-
- card.setCustomerStatusDescr(asnDocument.getCustomerStatusDescr());
-
- card.setValidFrom(asnDocument.getValidFromDate());
-
- card.setValidUntil(asnDocument.getValidUntilDate());
-
-
- if (asnDocument.getIncludedServices() != null && !asnDocument.getIncludedServices().isEmpty()){
- for (Long service: asnDocument.getIncludedServices()){
- card.addIncludedService(new Integer(service.intValue()));
- }
- }
- return card;
- }
-
-
- /**
- * Convert document extension.
- *
- * @param extension the extension
- * @return the i document extension
- */
- protected IDocumentExtension convertDocumentExtension(ExtensionData asnExtension) {
-
- if (asnExtension == null) return null;
-
- IDocumentExtension documentExtension = factory.createDocumentExtension();
- documentExtension.setId(asnExtension.getExtensionId());
- documentExtension.setBinarydata(asnExtension.getExtensionData());
- return documentExtension;
- }
-
-
- /**
- * Populate traveler details.
- *
- * @param asnTravelerDetails the asn traveler details
- * @param travelerDetails the traveler details
- */
- protected void populateTravelerDetails(TravelerData asnTravelerDetails,ITravelerDetail travelerDetails) {
-
- if (asnTravelerDetails == null) return;
-
- travelerDetails.setGroupName(asnTravelerDetails.getGroupName());
-
- travelerDetails.setPreferredLanguage(asnTravelerDetails.getPreferedLanguage());
-
- if (asnTravelerDetails.getTraveler() != null && !asnTravelerDetails.getTraveler().isEmpty() ) {
- for ( TravelerType asnTraveler : asnTravelerDetails.getTraveler() ){
- travelerDetails.addTraveler(convertTraveler(asnTraveler));
- }
- }
- }
-
- /**
- * Convert traveler.
- *
- * @param asnTraveler the asn traveler
- * @return the i traveler
- */
- protected ITraveler convertTraveler(TravelerType asnTraveler) {
-
- if (asnTraveler == null) return null;
-
- ITraveler traveler = factory.createTraveler();
-
- if (asnTraveler.getCountryOfResidence() != null){
- traveler.setCountryOfResidence(asnTraveler.getCountryOfResidence().intValue());
- }
- if (asnTraveler.getCountryOfPassport() != null) {
- traveler.setPassportCountry(asnTraveler.getCountryOfPassport().intValue());
- }
-
- if (asnTraveler.getCountryOfIdCard() != null) {
- traveler.setIDCardCountry(asnTraveler.getCountryOfIdCard().intValue());
- }
-
-
- traveler.setCustomerId(UicEncoderUtils.mapToString(asnTraveler.getCustomerIdNum(),asnTraveler.getCustomerIdIA5()));
-
- traveler.setDateOfBirth(asnTraveler.getDateOfBirth());
-
- traveler.setFirstName(asnTraveler.getFirstName());
- if (asnTraveler.getGender()!= null) {
- traveler.setGender(IGenderType.valueOf(asnTraveler.getGender().name()));
- }
- traveler.setIdCard(asnTraveler.getIdCard());
- traveler.setLastName(asnTraveler.getLastName());
-
- if (asnTraveler.getPassengerType()!= null) {
- traveler.setPassengerType(IPassengerType.valueOf(asnTraveler.getPassengerType().name()));
- }
- if (asnTraveler.getPassengerWithReducedMobility()!= null) {
- traveler.setPassengerWithReducedMobility(asnTraveler.getPassengerWithReducedMobility());
- }
-
- traveler.setPassportId(asnTraveler.getPassportId());
- traveler.setSecondName(asnTraveler.getSecondName());
-
- if (asnTraveler.getTicketHolder() != null) {
- traveler.setTicketHolder(asnTraveler.getTicketHolder());
- }
-
- if (asnTraveler.getStatus()!= null && !asnTraveler.getStatus().isEmpty()) {
-
- for (CustomerStatusType asnStatus : asnTraveler.getStatus()){
-
- traveler.addStatusDescription( mapToStatusDescription(asnStatus) );
-
- }
-
- }
-
- traveler.setTitle(asnTraveler.getTitle());
-
- return traveler;
- }
-
- /**
- * Map to status description.
- *
- * @param asnStatus the asn status
- * @return the i customer status description
- */
- private ICustomerStatusDescription mapToStatusDescription( CustomerStatusType asnStatus) {
-
- if (asnStatus == null) return null;
-
- ICustomerStatusDescription status = factory.createCustomerStatusDescription();
-
- status.setDescription(asnStatus.getCustomerStatusDescr());
-
- if (asnStatus.getCustomerStatus()!=null) {
- status.setStatus(asnStatus.getCustomerStatus().intValue());
- }
-
- status.setStatusProvider(UicEncoderUtils.mapToString(asnStatus.getStatusProviderNum(), asnStatus.getStatusProviderIA5()));
-
- return status;
- }
-
-
-
-
-
-
-
- /**
- * Populate control details.
- *
- * @param asnControlDetails the asn control details
- * @param controlDetails the control details
- */
- protected void populateControlDetails(ControlData asnControlDetails, IControlDetail controlDetails) {
-
- if (asnControlDetails == null || controlDetails==null ) return;
-
- if (asnControlDetails.getAgeCheckRequired()!= null) {
- controlDetails.setAgeCheckRequired(asnControlDetails.getAgeCheckRequired());
- }
-
- controlDetails.setExtension(convertExtension(asnControlDetails.getExtension()));
-
- if (asnControlDetails.getIdentificationByIdCard()!=null){
- controlDetails.setIdentificationByIdCard(asnControlDetails.getIdentificationByIdCard());
- }
-
- if (asnControlDetails.getIdentificationByPassportId()!= null){
- controlDetails.setIdentificationByPassportId(asnControlDetails.getIdentificationByPassportId());
- }
-
- if(asnControlDetails.getIdentificationItem()!=null){
- controlDetails.setIdentificationItem(asnControlDetails.getIdentificationItem().intValue());
- }
-
- controlDetails.setInfoText(asnControlDetails.getInfoText());
-
- if (asnControlDetails.getOnlineValidationRequired()!=null){
- controlDetails.setOnlineValidationRequired(asnControlDetails.getOnlineValidationRequired());
- }
-
- if (asnControlDetails.getRandomDetailedValidationRequired()!= null){
- controlDetails.setRandomDetailedValidationRequired(asnControlDetails.getRandomDetailedValidationRequired().intValue());
- }
-
- if (asnControlDetails.getReductionCardCheckRequired() != null){
- controlDetails.setReductionCardCheckRequired(asnControlDetails.getReductionCardCheckRequired());
- }
-
- if(asnControlDetails.getIdentificationByCardReference()!=null && !asnControlDetails.getIdentificationByCardReference().isEmpty()) {
- for (CardReferenceType asnCardReference : asnControlDetails.getIdentificationByCardReference()){
- controlDetails.addIdentificationByCardReference(convertCardReference(asnCardReference));
- }
- }
-
- if (asnControlDetails.getIncludedTickets()!=null && !asnControlDetails.getIncludedTickets().isEmpty()) {
- for (TicketLinkType asnTicketLink : asnControlDetails.getIncludedTickets()) {
- controlDetails.addLinkedTicket(convertTicketLink(asnTicketLink));
- }
- }
-
-
- }
-
-
-
-
-
- /**
- * Populate issuing detail.
- *
- * @param asnIssuingDetail the asn issuing detail
- * @param issuingDetail the issuing detail
- */
- protected void populateIssuingDetail(IssuingData asnIssuingDetail,IIssuingDetail issuingDetail){
-
- if (asnIssuingDetail== null || issuingDetail == null) return;
-
- if (asnIssuingDetail.getActivated() != null) {
- issuingDetail.setActivated(asnIssuingDetail.getActivated());
- }
-
- if (asnIssuingDetail.getSpecimen() != null) {
- issuingDetail.setSpecimen(asnIssuingDetail.getSpecimen());
- } else {
- issuingDetail.setSpecimen(false);
- }
-
-
- if (asnIssuingDetail.getSecurePaperTicket() != null) {
- issuingDetail.setSecurePaperTicket(asnIssuingDetail.getSecurePaperTicket());
- } else {
- issuingDetail.setSecurePaperTicket(false);
- }
-
- issuingDetail.setExtension(convertExtension(asnIssuingDetail.getExtension()));
-
- if (asnIssuingDetail.getIssuedOnLine()!= null) {
- issuingDetail.setIssuedOnLine(asnIssuingDetail.getIssuedOnLine().intValue());
- }
-
- if (asnIssuingDetail.getIssuedOnTrainIA5()!= null) {
- issuingDetail.setIssuedOnTrain(asnIssuingDetail.getIssuedOnTrainIA5());
- }
- if (asnIssuingDetail.getIssuedOnTrainNum()!= null) {
- issuingDetail.setIssuedOnTrain(asnIssuingDetail.getIssuedOnTrainNum().toString());
- }
-
- if (asnIssuingDetail.getIssuerNum() != null || asnIssuingDetail.getIssuerIA5() != null) {
- issuingDetail.setIssuer(UicEncoderUtils.mapToString(asnIssuingDetail.getIssuerNum(), asnIssuingDetail.getIssuerIA5()));
- }
-
- issuingDetail.setIssuerName(asnIssuingDetail.getIssuerName());
-
- issuingDetail.setIssuerPNR(asnIssuingDetail.getIssuerPNR());
-
- issuingDetail.setSecurityProvider(UicEncoderUtils.mapToString(asnIssuingDetail.getSecurityProviderNum(),asnIssuingDetail.getSecurityProviderIA5()));
-
-
- issuingDetail.setIssuingDate(asnIssuingDetail.getIssuingDate());
-
-
- if (asnIssuingDetail.getPointOfSale() != null) {
- issuingDetail.setPointOfSale(convertGeoCoordinate(asnIssuingDetail.getPointOfSale()));
- }
-
- }
-
-
-
- /**
- * Convert geo coordinate.
- *
- * @param asnCoordinate the asn coordinate
- * @return the i geo coordinate
- */
- protected IGeoCoordinate convertGeoCoordinate(GeoCoordinateType asnCoordinate) {
-
- if (asnCoordinate == null) return null;
-
- IGeoCoordinate coordinate = factory.createGeoCoordinate();
-
- if (asnCoordinate.getCoordinateSystem() != null) {
- coordinate.setSystem(IGeoCoordinateSystemType.valueOf(asnCoordinate.getCoordinateSystem().name()));
- }
-
- if (asnCoordinate.getAccuracy() != null) {
- coordinate.setAccuracy(IGeoUnitType.valueOf(asnCoordinate.getAccuracy().name()));
- }
-
- if (asnCoordinate.getGeoUnit() != null) {
- coordinate.setUnit(IGeoUnitType.valueOf(asnCoordinate.getGeoUnit().name()));
- }
-
- if (asnCoordinate.getHemisphereLatitude() != null) {
- coordinate.setHemisphereLatitude(IHemisphereLatitudeType.valueOf(asnCoordinate.getHemisphereLatitude().name()));
- }
-
- if (asnCoordinate.getHemisphereLongitude() != null) {
- coordinate.setHemisphereLongitude(IHemisphereLongitudeType.valueOf(asnCoordinate.getHemisphereLongitude().name()));
- }
-
- coordinate.setLongitude (asnCoordinate.getLongitude());
- coordinate.setLatitude (asnCoordinate.getLatitude());
-
-
- return coordinate;
- }
-
-
- /**
- * Convert extension.
- *
- * @param asnExtension the asn extension
- * @return the i extension
- */
- protected IExtension convertExtension(ExtensionData asnExtension) {
- if (asnExtension == null) return null;
- IExtension extension = factory.createExtension();
- extension.setId(asnExtension.getExtensionId());
- extension.setBinarydata(asnExtension.getExtensionData());
- return extension;
- }
-
-
- /**
- * Convert ticket link.
- *
- * @param asnTicketLink the asn ticket link
- * @return the i ticket link
- */
- protected ITicketLink convertTicketLink(TicketLinkType asnTicketLink) {
-
- if (asnTicketLink == null) return null;
-
- ITicketLink ticketLink = factory.createTicketLink();
- ticketLink.setIssuer(asnTicketLink.getIssuerName());
- ticketLink.setIssuerPNR(asnTicketLink.getIssuerPNR());
- ticketLink.setProductOwner(UicEncoderUtils.mapToString(asnTicketLink.getProductOwnerNum(),asnTicketLink.getProductOwnerIA5()));
- ticketLink.setReference(UicEncoderUtils.mapToString(asnTicketLink.getReferenceNum(),asnTicketLink.getReferenceIA5()));
- if(asnTicketLink.getTicketType()!=null) {
- ticketLink.setTicketType(ITicketType.valueOf(asnTicketLink.getTicketType().name()));
- }
- if(asnTicketLink.getLinkMode()!=null) {
- ticketLink.setLinkMode(ILinkMode.valueOf(asnTicketLink.getLinkMode().name()));
- }
- return ticketLink;
- }
-
- /**
- * Convert card reference.
- *
- * @param asnCardReference the asn card reference
- * @return the card reference
- */
- protected ICardReference convertCardReference(CardReferenceType asnCardReference) {
-
- if (asnCardReference == null) return null;
-
- ICardReference cardReference = factory.createCardReference();
- cardReference.setCardId(UicEncoderUtils.mapToString(asnCardReference.getCardIdNum(),asnCardReference.getCardIdIA5()));
- cardReference.setCardIssuer(UicEncoderUtils.mapToString(asnCardReference.getCardIssuerNum(),asnCardReference.getCardIssuerIA5()));
- cardReference.setCardName(asnCardReference.getCardName());
-
- if(asnCardReference.getCardType()!=null) {
- cardReference.setCardType(asnCardReference.getCardType().intValue());
- }
-
-
- cardReference.setLeadingCardId(UicEncoderUtils.mapToString(asnCardReference.getLeadingCardIdNum(),asnCardReference.getLeadingCardIdIA5()));
- cardReference.setTrailingCardId(UicEncoderUtils.mapToString(asnCardReference.getTrailingCardIdNum(),asnCardReference.getTrailingCardIdIA5()));
-
- return cardReference;
- }
-
-}